define(window.backboneCommon.getControllerDefine("Creative"), function (require,Model,ModelBaseData,ModelCampaign,ModelSpread,ModelSpace) {
    var model=new Model();
    var modelBaseData=new ModelBaseData();
    var modelCampaign=new ModelCampaign();
    var modelSpread=new ModelSpread();
    var modelSpace=new ModelSpace();
    return Backbone.Collection.extend({
        model:  model,
        initialize: function () {
            model.set({modelBaseData:modelBaseData});
            model.set({modelCampaign:modelCampaign});
            model.set({modelSpread:modelSpread});
            model.set({modelSpace:modelSpace});
        },
        initAfterDetail:function (campaignId) {
            this.getSpreadList(campaignId);
            modelBaseData.getObjMatterType();
        },
        initAfterModalEdit:function () {
            modelBaseData.getObjMatterType();
        },
        getPageList:function(param){
            model.getPageList(param);
        },
        getInfo:function(id){
            model.getInfo(id);
        },
        saveInfo:function (json) {
            json.id ? model.updateInfo(json) : model.addInfo(json);
        },
        updateStatus:function (param) {
            model.updateStatus(param);
        },
        getCampaign:function(id){
            modelCampaign.getInfo(id);
        },
        getSpreadList:function(campaignId){
            modelSpread.getAllList(campaignId);
        },
        getMaterialInfo:function(id){
            modelSpace.getMaterialInfo(id);
        },
        getChannelPack:function(param){
            modelBaseData.getChannelPack(param);
        },
        getModalList:function(param){
            model.getModalList(param);
        }
    });
});